///******************************************************************************* // * Copyright (c) 2006, 2007 IBM Corporation and others. // * All rights reserved. This program and the accompanying materials // * are made available under the terms of the Eclipse Public License v1.0 // * which accompanies this distribution, and is available at // * http://www.eclipse.org/legal/epl-v10.html // * // * Contributors: // * IBM Corporation - initial API and implementation // *******************************************************************************/ // //package org.eclipse.ui.tests.dialogs; // //import java.io.StringWriter; // //import org.eclipse.core.resources.IFile; //import org.eclipse.core.resources.IFolder; //import org.eclipse.core.resources.IProject; //import org.eclipse.core.resources.IResource; //import org.eclipse.core.resources.IWorkspaceRoot; //import org.eclipse.core.resources.ResourcesPlugin; //import org.eclipse.core.runtime.CoreException; //import org.eclipse.jface.dialogs.IDialogSettings; //import org.eclipse.ui.IMemento; //import org.eclipse.ui.XMLMemento; //import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin; //import org.eclipse.ui.internal.ide.model.ResourceFactory; // //import junit.framework.TestCase; // ///** // * @since 3.3 // * // */ //public class UIAbstractFilteredResourcesSelectionDialog extends TestCase { // // // ----------------------- // // implementation dependent ! // // private static final String HISTORY_SETTINGS = "History"; // // private static final String DEFAULT_ROOT_NODE_NAME = "historyRootNode"; //$NON-NLS-1$ // // private static final String DEFAULT_INFO_NODE_NAME = "infoNode"; // // private static final String DIALOG_SETTINGS = "org.eclipse.ui.dialogs.FilteredResourcesSelectionDialog"; //$NON-NLS-1$ // // // ----------------------- // // private static final String PROJECT_NAME = "FilteredResourcesTestProject"; // // private static final String FOLDER_NAME1 = "testFolder1"; // // private static final String FOLDER_NAME2 = "testFolder2"; // // private static final String[] HISTORY_FILES = new String[] { "file1H.txt", // "file2H.avi", "_FiLe4H.java", "afile4H.txt", "bfile5H.txt", // "cfile6H.txt" }; // // private static final String[] NONHISTORY_FILES = new String[] { // "file1.txt", "file2.avi", "_FiLe4.java", "afile4.txt", // "bfile5.txt", "cfile6.txt" }; // // // ----------------------- // // protected IResource[] historyResources; // // protected IResource[] nonHistoryResources; // // protected IProject project; // // /** // * A hook for subclasses - provides means to change filesystem tree. // * // * @return // */ // protected String getProjectName() { // return PROJECT_NAME; // } // // /** // * A hook for subclasses - provides means to change filesystem tree. // * // * @return // */ // protected String getFirstFolderName() { // return FOLDER_NAME1; // } // // /** // * A hook for subclasses - provides means to change filesystem tree. // * // * @return // */ // protected String getSecondFolderName() { // return FOLDER_NAME2; // } // // /** // * A hook for subclasses - provides means to change filesystem tree. // * // * @return // */ // protected String[] getHistoryFiles() { // return HISTORY_FILES; // } // // /** // * A hook for subclasses - provides means to change filesystem tree. // * // * @return // */ // protected String[] getNonHistoryFiles() { // return NONHISTORY_FILES; // } // // /* // * (non-Javadoc) // * // * @see junit.framework.TestCase#setUp() // */ // protected void setUp() throws Exception { // super.setUp(); // // initializeProject(); // // // ------------------------ // // IDialogSettings // // IDialogSettings settings = IDEWorkbenchPlugin.getDefault() // .getDialogSettings().getSection(DIALOG_SETTINGS); // // if (settings == null) { // settings = IDEWorkbenchPlugin.getDefault().getDialogSettings() // .addNewSection(DIALOG_SETTINGS); // } // // // ------------------------ // // XMLMemento // // XMLMemento memento = XMLMemento.createWriteRoot(HISTORY_SETTINGS); // // IMemento historyMemento = memento.createChild(DEFAULT_ROOT_NODE_NAME); // // for (int i = 0; i < historyResources.length; i++) { // IResource item = historyResources[i]; // IMemento elementMemento = historyMemento // .createChild(DEFAULT_INFO_NODE_NAME); // ResourceFactory resourceFactory = new ResourceFactory(item); // resourceFactory.saveState(elementMemento); // } // // StringWriter writer = new StringWriter(); // // memento.save(writer); // settings.put(HISTORY_SETTINGS, writer.getBuffer().toString()); // } // // /* // * (non-Javadoc) // * // * @see junit.framework.TestCase#tearDown() // */ // protected void tearDown() throws Exception { // super.tearDown(); // finalizeProject(); // } // // private void initializeProject() throws Exception { // IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); // // ensure only the new project is visible // project = root.getProject(getProjectName()); // // IProject[] projects = root.getProjects(); // for (int i = 0; i < projects.length; i++) { // projects[i].delete(true, null); // } // // project.create(null); // project.open(null); // IFolder folder1 = project.getFolder(getFirstFolderName()); // IFolder folder2 = project.getFolder(getSecondFolderName()); // folder1.create(false, true, null); // folder2.create(false, true, null); // String[] historyFiles = getHistoryFiles(); // if (historyFiles == null || historyFiles.length == 0) { // historyResources = new IResource[0]; // } else { // historyResources = new IResource[historyFiles.length]; // for (int i = 0; i < historyFiles.length; i++) { // IFile file = project.getFile(folder1.getProjectRelativePath() // .append("/" + historyFiles[i])); // file.create(null, false, null); // historyResources[i] = file; // } // } // String[] files = getNonHistoryFiles(); // if (files == null || files.length == 0) { // nonHistoryResources = new IResource[0]; // } else { // int length = files.length; // nonHistoryResources = new IResource[length * 2]; // for (int i = 0; i < length; i++) { // IFile file = project.getFile(folder1.getProjectRelativePath() // .append("/" + files[i])); // file.create(null, false, null); // nonHistoryResources[i] = file; // } // for (int i = 0; i < length; i++) { // IFile file = project.getFile(folder2.getProjectRelativePath() // .append("/" + files[i])); // file.create(null, false, null); // nonHistoryResources[length + i] = file; // } // } // } // // private void finalizeProject() throws CoreException { // if (project != null) { // project.delete(true, null); // } // } // //}